package py.progweb.sgc.model;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

 @Entity
 @Table(name="PRODUCTOS")
public class Producto extends EntidadBase implements Serializable {
	private static final long serialVersionUID = 1L;
	
	/* ATRIBUTOS DE LA CLASE */
	@Id
	@SequenceGenerator(name="CODPRODUCTOPK_GENERATOR", sequenceName="PRODUCTO_COD_PRODUCTO_PK_SEQ",allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="CODPRODUCTOPK_GENERATOR")
	@Column(name="COD_PRODUCTO_PK")
	private Integer codProductoPk;
	@Column(name="NOMBRE")
	private String nombre;
	@Column(name="STOCK")
	private Integer stock;
	@Column(name="PRECIO_ACTUAL")
	private Integer precio_actual;
	@Column(name="GANANCIA")
	private Integer ganancia;
	
	@ManyToMany(mappedBy="productos")
	private List<Proveedor> proveedores;
	
	/* ATRIBUTOS DE RELACION */
	
	public Producto(){
		super();
	}
	
	public Integer getCodProductoPk() {
		return codProductoPk;
	}


	public void setCodProductoPk(Integer codProductoPk) {
		this.codProductoPk = codProductoPk;
	}


	public String getNombre() {
		return nombre;
	}


	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	public Integer getStock() {
		return stock;
	}


	public void setStock(Integer stock) {
		this.stock = stock;
	}


	public Integer getPrecio_actual() {
		return precio_actual;
	}


	public void setPrecio_actual(Integer precio_actual) {
		this.precio_actual = precio_actual;
	}


	public Integer getGanancia() {
		return ganancia;
	}


	public void setGanancia(Integer ganancia) {
		this.ganancia = ganancia;
	}


	@Override
	public Object getPK() {
		return getCodProductoPk();
	}
	
	public List<Proveedor> getProveedores() {
		return proveedores;
	}

	public void setProveedores(List<Proveedor> proveedores) {
		this.proveedores = proveedores;
	}

	@Override
    public String toString(){
            return this.getNombre();
    }
}

